{"version":3,"file":"static/chunks/pages/kmi/[id]-af08b479726a4ecf.js","mappings":"AGACA,CAAAA,KAAK,gBAAmB,CAAGA,KAAK,gBAAmB,EAAI,EAAE,EAAEC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAEnE,KACC,SAASC,uBAAuB,CAAEC,wBAAwB,CAAEC,mBAAmB,CAAE,CHDxF,CAAAC,OAAAC,QAAA,CAAAD,OAAAC,QAAA,MAAAL,IAAA,EACA,YACA,UAAe,CACf,OAAAG,oBAAA,MACA,EACA,CAKA,iBAAAF,uBAAA,CAAAK,mBAAA,CAAAH,mBAAA,eAAAA,oBAAAI,CAAA,CAAAD,qBAAAH,oBAAAK,CAAA,CAAAF,oBAAA,2BAAAG,OAAA,QAAAC,+CAAAP,oBAAA,OAAAQ,qDAAAR,oBAAA,OAAAS,qDAAAT,oBAAA,OAAAU,4CAAAV,oBAAA,OAAAW,mDAAAX,oBAAA,OAAAY,sDAAAZ,oBAAA,OAAAa,8CAAAb,oBAAA,OAAAc,4CAAAd,oBAAA,OAAAe,4DAAAf,oBAAA,OAAAgB,qDAAAhB,oBAAA,OAAAiB,4CAAAjB,oBAAA,OAAAkB,oCAAAlB,oBAAA,OAAAmB,oCAAAnB,oBAAA,OAAAoB,8CAAApB,oBAAA,OCZAqB,kCAAArB,oBAAA,OAqC8D,IAAAsB,IAA/C,OAAQ,CACrB,IAAMC,MAAC,CAAAC,OAAA,CAAgBC,QAAA,CAAAC,KAAkB,CAAGC,MAAA,EAAAC,MACtC,CAACC,eAASC,kBAAc,IAAAX,oCAAWY,QAAA,MACnC,CAACC,QAAAC,WAAY,IAAad,oCAAGY,QAAA,MAC7B,CAACG,WAAUC,aAAe,IAAAhB,oCAAAY,QAAS,MACnC,CAACK,SAASC,YAAW,CAAG,GAAAlB,oCAAAY,QAAS,MACjC,CAAAO,QAAEC,WAAe,IAAApB,oCAAyBY,QAAA,MAC1C,CAAAS,cAAWC,YAAA,CAAAC,MAAA,EAAAlB,QAEbmB,SAAA,GAAgBhC,mDAACiC,CAAA,IACrBC,cAAmB,CAAE,EAErBC,WAAA,GAC4B7B,4CACoC8B,EAAA,CAAAC,OAAA,QAC9D,IAAIC,MAAOP,OAAAQ,IAAA,KAAAC,GAAAC,UAAA,GAAAC,KAAAC,KAAA,KAAAL,MACL,CAAJ,IAAIM,IACF,QAAAA,CAAAA,IAAAF,KAAAC,KAAA,GAAAC,KAAA,IAAAA,IAA6C,OAAAA,IAAAC,QAAA,gBAE9CH,CAAAA,KAAAI,EAAA,CAAAJ,KAAAI,EAAA,CAAAC,OAAA,kBAEFb,aAAA,CAAAQ,KAAAI,EAAA,EAAAJ,KAAAM,KAAA,IACH,IAG2CC,OACzCC,IAAI,CAAApB,cAAiBO,OAAK,MAAM,CAC9BP,CAAAA,KAAAA,YAAO,CAAAqB,IAAA,EAAiBrB,IAAA,GAAAA,YAAA,CAAAqB,IAAA,GACzB,OAAArB,YAAA,CAAAqB,IAAA,GAIajB,cACX,CACH,GAAGA,aAAY,CACf,GAAAJ,YAAU,CACVsB,SAAArC,UAAAA,MACAsC,UAAA,GACFC,YAAA,EAEA,EAC4BhD,4CACP8B,EAAA,CAAAC,OAAA,YAAEkB,WAAO,CAAC,GAAAb,IAAA,EACmB,GAC9CR,KAAsBsB,IAAtBtB,aAAA,CAAAqB,WAAsBT,EAAA,GAItB,IAAIR,MAAOP,OAAAQ,IAAA,KAAAC,GAAAiB,QAAA,EAAAjB,GAAAC,UAAA,GAAAc,WAAAZ,KAAA,EACTL,OAGDiB,CAAAA,WAAAG,WAAA,CAAAH,WAAAG,WAAA,CAAAC,MAAA,KAAAnB,aAAAA,GAAAC,UAAA,GAEFN,WAAAjD,IAAA,CAAAqE,WACH,IAIA,IAAMK,UAAAzB,WAAiB0B,MAAA,CAAAzD,4DAAmB0D,CAAA,KAEpCC,eAAUrD,kCAAAsD,MAAA,GAAAC,KAAA,CAAAL,WACdM,QAAU,GAAAzD,8CAAA0D,EAAA,GACVC,SAAA,GAAAnE,sDAAeoE,CAAA,EAAAN,gBACfO,cAAMpC,cACRqC,KAAA,WACA,GACMC,eAAgBN,QAAQO,KAAM,WAEpCC,cAAAR,QAAAO,KAAA,oBAAgB,GAAAjE,oCACiBmE,SAAA,OAC7BD,UAAAA,eACA9C,WAAW,IACbN,WAAO,MAEL4C,QAAAU,QAAgB,gBACjBhD,WAAA,IACA,GAAe8C,cAElB,EAAgB,GAAAlE,oCAE4BmE,SAAA,OAD1C,IAAA/B,IAAMiC,KAGN,IAAIC,SAAU,CAAAjE,MAAAA,QAAA,cAAA+B,CAAAA,IAAA/B,QAAAgB,aAAA,GAAAe,KAAA,IAAAA,IAAA,OAAAA,IAAAmC,YAAA,GAAAlE,CAAAA,MAAAA,QAAA,cAAAgE,CAAAA,KAAAhE,QAAAgB,aAAA,GAAAgD,KAAA,IAAAA,KAAA,OAAAA,KAAAG,KAAA,KACZF,SAAM,CAAqC,IACzCG,UAAOrE,OAAa+C,MAAM,QAC5BmB,WAAAE,MAAAE,KAAA,CAAApC,EAAA,CAGEmC,CAAAA,UAAAE,MAAA,IAAyB,GAAA9E,qDACE+E,EAAA,WACzBtC,GAAAmC,SAAM,GAAU,CAAAC,KAAG,CAAIpC,EAAA,CACzBuC,KAAAJ,SAAA,IAAAI,IAAA,EAGH,CAAE,EAEL,IAAgB,GAAA7E,oCACFmE,SAAA,UAAA3D,OAGR,CAFF,IAAA4B,IAAQiC,KAMRX,QAAQU,QAAQ,CAAC,UAAA5D,MAAAA,OAA0B,cAAA4B,CAAAA,IAAA5B,OAAAsE,YAAA,GAAA1C,KAAA,IAAAA,IAAA,cAAAiC,CAAAA,KAAAjC,IAAA2C,IAAA,GAAAV,KAAA,IAAAA,KAAA,OAAAA,KAAAW,UAAA,EAAAxE,OAAAsE,YAAA,CAAAC,IAAA,CAAAC,UAAA,KAC3CtB,QAAQU,QAAQ,CAAC,cAAa5D,OAAIqE,IAAA,EAClCnB,QAAAU,QAAgB,iBACjBlD,YAAA,GACA,IAAQV,OAEX,EAAgB,GAAAR,oCACqBmE,SAAM,WACvCc,WAAcpE,QAAKsC,MAAA,IACrB+B,EAAA1C,KAAA,GAAAwB,gBAE4B,GAAAiB,WAGlBN,MACA,EAEE,GALV,IAAAvC,IAAQiC,KAAAc,KAASC,KAAAC,KACjB3B,QAAAU,QAAA,sBAAAhC,CAAAA,IAAA6C,UAAA,MAAA7C,KAAA,IAAAA,IAAgB,OAAAA,IAAUkD,KAAA,KAAAzF,qDACH+E,EAAI,YACzBW,KAAM,IAAa,GAAblB,CAAAA,KAAAY,UAAU,CAAC,EAAE,GAAbZ,KAAA,IAAAA,KAAA,OAAAA,KAAekB,IAAI,CACzBV,KAAA,IAAS,GAATM,CAAAA,KAASF,UAAA,MAAAE,KAAA,IAAAA,KAAA,OAAAA,KAAAN,IAAA,CAAAW,QACH,CACJC,KAAK,IAAa,GAAbL,CAAAA,KAAAH,UAAW,GAAE,GAAbG,KAAA,IAAAA,KAAA,OAAAA,KAAeI,OAAQ,CAAAC,IAAG,CACjCC,IAAA,OAAAL,CAAAA,KAAAJ,UAAA,MAAAI,KAAA,IAAAA,KAAA,OAAAA,KAAAG,OAAA,CAAAE,GAAA,CAEH,EACA,IAAgB1B,eAEnB,EAAgB,GAAAhE,oCACVmE,SAAA,OAIiB,GAHnB3C,CAAAA,MAAAA,SAA2C,OAAQA,SAAAA,QAAA,GACpDkC,QAAAU,QAAA,iBAAA5C,SAAAA,QAAA,EAGCA,MAAAA,SAA+B,OAAAA,SAAAmE,KAAA,EAC/B,IAAAC,KAAQlC,QAASmC,SAAA,kBAClBnC,QAAAU,QAAA,iBAAAwB,KAAApE,SAAAmE,KAAA,CAED,EACEnE,MAAAA,SAA2C,OAASA,SAAQsE,QAAA,GAC7DpC,QAAAU,QAAA,0BAAA5C,SAAAsE,QAAA,CAEA,GAAUtE,SAEb,EAAiC,IAAAuE,OAAf,OAAU,CAC1B,IAAA9C,QAAA,EAAAxC,MACE,SAAArB,+CAAA4G,IAAA,EAAA5G,+CAAA6G,QAAA,EAAAC,SACI,CACW,CAAAjF,UACA,CAAAE,SAAoB,GAAS/B,+CAA0B+G,GAAA,EAAA9G,qDAAA+G,EAAA,EAChEC,QAAO,WAAG3C,QAAU4C,SAAU,CAAAC,MAAA,EAAW,CAAA1F,QAAO8D,MAAA,CAGhDW,MAAA,GAASkB,MAAA,CAAAjG,UAAAA,MAAA,oCAAAiG,MAAA,CAAAjG,UAAAA,MAAA,mBACTkG,SAAU,+BACVxD,SAAOA,SACPT,MAAAzB,WACE,OAAA2F,cAAaC,KAAA,CACb3F,aAAM2F,MAAoC,IAAkBC,eAAAF,cAAAG,GAAA,eAC1D,EACAvB,MAAOwB,MAAAA,aAAA,OAAAA,aAAcjC,IAAA,CACrBrC,MAAMsE,MAAAA,aAAA,OAAAA,aAAcC,aAAI,CACxBlC,KAAMiC,MAAAA,aAAA,OAAAA,aAAcjC,IAAI,CACxBU,KAAAuB,MAAAA,aAAS,OAAAA,aAAAvB,IAAc,CACzBC,QAAAsB,MAAAA,aAAA,OAAAA,aAAAtB,OAAA,IAC2B,GACzBoB,eAAMjC,MAAa,EACnB,IAAAqC,WAAW,GAAArH,4CAAAsH,EAAA,EAAAL,eAAA,SACX9F,WAAQkG,YAAwCtD,QAC9CU,QAAA,UAAoB4C,UAAA,IAAAxE,KAAA,EACtB0E,eAAA,EACD,EACH,EAIH,GACgBrG,QACb8D,MAIC,IAHC,CAAA1D,UAAU,CAAAE,SACN,GAAA/B,+CACmB+G,GAAA,EAAA9G,qDAAA8H,EAAA,EAEzB7B,MAAA,GAAQkB,MAAA,CAAAjG,UAAAA,MAEP,+BADqB,mBACrB,EACD6G,OAAA,6BAASZ,MAAA,CAAAjG,UAAAA,MAAA,wCAAAM,QAAAA,OAAA,KAOnB,EACoDwG,cAA3B,OAAsB,CAC7C,IAAMC,eAAa,EAAA7G,MACjB8G,WAAK,CACLC,MAAAnI,qDAASoI,EAAA,CACTC,UAAQrI,qDAAAsI,EAAA,CACRC,SAAMvI,qDAAAwI,EAAA,CACNC,OAAGzI,qDAAA0I,EAAA,CACHC,IAAA3I,qDAAc4I,EAAA,CACdC,aAAK7I,qDAAA4I,EAAA,CACLE,MAAA9I,qDAAA+I,EAAA,CACArC,OACAsC,SAAAhJ,qDAAmBiJ,EAAA,CACnBC,oBAAYlJ,qDAAAmJ,EAAA,CACdC,aAAApJ,qDAAAqJ,EAAA,EAE2C,OACzCpB,gBAAkBT,GAAA,EAAA1E,MAAWQ,MAAM,CACnC,IAAMgG,UAASpB,UAAA,CAAApF,MAAAF,UAAA,QACX2G,MAAA,CAAW,KACbD,UAAU,CAMV,GALqB,WAAjBxG,MAAMF,UAAU,EAAU2G,CAAAA,MAAAxI,MAAc,CAAAA,MAAA,EAC1C+B,MAAMF,UAAQ,CAAGI,QAAI,eACtBuG,CAAAA,MAAA3F,QAAA,KAEwB,WAArBd,MAAMF,UAAU,EAAK2G,CAAAA,MAAY3F,QAAU,GAAO,EAC7B,WAArBd,MAAMF,UAAU,EAAiBhB,UACjCkB,WAAAA,MAAMF,UAAU,EAAKd,SACrBgB,aAAAA,MAAMF,UAAQ,EAAqB,CAAAd,QAFO,OAAO,IAAI,CAG1DgB,MAAAiF,MAAA,EAAAwB,CAAAA,MAAAxB,MAAA,CAAAjF,MAAAiF,MAAA,CAED,OAAqC,GAAAhI,+CAAA+G,GAAA,EAAAwC,UAAA,CAAd,GAAAC,KAAA,EACzBjG,IACF,EAEA,EACSkG,UAAc,GAAA7I,oCAA+B8I,OAAA,SAAA1J,+CAAA+G,GAAA,EAAAkB,cAAA,CACpDC,gBAAAjH,QAAAkB,MAAA,GAAC,CAASV,QAAUI,SAASE,QAAyBuC,QAAA4C,SAAA,CAAAC,MAAA,CAGxD,EACEwC,SAAA,MAAkBC,MAAA,CAClBrI,kBAAM,IAAM,MACV,GAAAZ,oCAAQkJ,EAAA,GACRC,OAAoC,OACpCC,IAAA,GAAA3C,MAAS,8CAAA4C,QACP,CACF,iCACA,EAECJ,IAAW,GAAAK,IACV,MAAU,GAAAxJ,qDACIyJ,EAAA,GACZC,WAAM,EACN1E,KAAMvE,SAAAkJ,IAAA,CACNC,KAAA,cACAC,QAAMpJ,SAASoJ,OAAI,CACrBC,KAAArJ,SAAAqJ,IAAA,GAOD,GAAAhK,4CAAYiK,EAAA,EAAAvJ,QAAAwJ,YAAA,CAAAC,KAAA,CAAAzJ,QAAAwJ,YAAA,CAAAE,IAAA,CAAApJ,kBAAA,GAAAqJ,KACX,MASF,KATY,GAAAnK,qDACIyJ,EAAA,GACZC,WAAM,EACN1E,KAAMvE,SAAAkJ,IAAA,CACNC,KAAA,aACAC,QAAMpJ,SAASoJ,OAAI,CACrBC,KAAArJ,SAAAqJ,IAAA,GAEAhJ,kBAAgBjB,8CAAauK,EAAC,EAChC,MAAAvK,8CAAAuK,EAAA,GAGJ,EACE,SAAA7K,+CAAA4G,IAAA,EAAA5G,+CAAA6G,QAAA,EAAAC,SAAA,CAEW,GAAA9G,+CAAa+G,GAAA,EAAA5G,4CAAA2K,EAAA,EACpBJ,MAAAzJ,QAAYyJ,KAAQ,CACpBK,WAAO9J,QAAA8J,UAAA,CAAoBC,MAAA/J,MAAAA,QAAA,OAAAA,QAAAgK,WAAA,GAG3B,GAAAjL,+CAAA+G,GAAA,EAAA7G,qDAACgL,CAAA,EAAQpE,SACQ,GAAQ9G,+CAAK+G,GAAA,EAAA7G,qDAAAiL,CAAA,EAC5BT,MAAAzJ,QAAUmK,OAAQ,CAAAV,KAAQ,CAC1BW,SAAMpK,QAAAmK,OAAA,CAAAC,QAAA,CACNhB,KAAA,EAAYiB,OAAA,GAECxE,SAAY,GAAA9G,+CAAA+G,GAAA,EAAAlG,8CAAA0K,EAAA,KAAAjH,OACvB,CAACwC,SAAuB,GAAA9G,+CAAa4G,IAAA,UAAA+C,SAAArF,QAAAkH,YAAA,CAAA7B,UAAA7C,SAAA,CAElC,GAAA9G,+CAAA+G,GAAA,EAAA9G,qDAAAwL,EAAA,KAAAhC,UAED,GAAAzJ,+CAAA+G,GAAA,EAAC9G,qDAAMyL,EAAA,KAAC,GAAA1L,+CAAgB+G,GAAA,EAAA9G,qDAAA0L,EAAA,EAAArK,eACrBA,eAAsBwF,SAAA7F,QAAAmK,OAAA,CAAAQ,MAAA,cAmFvC,CAA0B7K,CAAAA,IAAA8K,eAAA,IAE1B,IAAA9L,QAAA,EAAkBH,CAAAA,oBAAA,QAAAmB,GAAA,iBAAAxB,uBAAA,CAAAK,mBAAA,CAAAH,mBAAA,eAAAA,oBAAAK,CAAA,CAAAF,oBAAA,qBAAAkM,eAAA,IC7ZlB,IAAAC,iCAC0BtM,oBAAA,OAEsB,SAC9CqM,gBAAYE,MAAA,CAAcC,MAAE,EAC5B,GAAK,CAAA/I,EAAA,CAAAgJ,cAAA,CAAApI,YAAI,IAAAmI,OAAiB,GACxB,CAAAF,gCAAO,CAAAG,eAAA,CACR,OAAAF,MACD,CACA,IAAAG,UAAYJ,gCAAwB,CAAAG,eAAA,GAmBrC,OAnBqCpI,YAC1BrB,OAAM,aAAW,CACzB,GAAK,CAAA2J,MAAS,CAACC,IAAK,CAAE,CAAAC,WAAA,GACpBH,SAAA,CAAAE,KAAA,EAEmB,GACnBA,SAAAA,KAAc,CACd,IAAAtJ,MAAYwJ,QAAU,CAAAH,OAAwCD,UACxDA,UAAWK,IAAA,CAAQzJ,MAAA,CAAAK,MAAAqJ,kBAAA,QACdC,EAAA,CAAAtJ,OACRqJ,gBAAAE,QAAA,CAAAJ,QAAAtC,IAAA,CAAA2C,OAAA,EAAAC,IAAA,GAEHJ,eADE,CAEG,MAENN,UAAAA,SAAA,CAAAE,KAAA,IAAAD,OACH,CAXE,GAaFJ,MAAA,CAAO9I,GAAA,CAAAiJ,UACRH,MAAA,aAAAvM,mBAAA,EAAAA,oBAAAqN,CAAA,yDAAArN,oBAAAA,oBAAAsN,CAAA,SAAAC,KAAAvN,oBAAAqN,CAAA","sources":["webpack://_N_E/?8696","webpack://_N_E/./src/pages/kmi/[id].tsx","webpack://_N_E/./src/utils/helpers/createYupSchema.ts","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/kmi/[id]\",\n function () {\n return require(\"private-next-pages/kmi/[id].tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/kmi/[id]\"])\n });\n }\n ","import {\n AuthFill,\n Button,\n ClosestDealers,\n ContactMirai,\n Email,\n FindDealer,\n FirstName,\n LastName,\n MarketingConsent,\n Models,\n Postcode,\n PrivateOrCompanyCar,\n Tel,\n Title,\n} from '@components/form/fields'\nimport { FormStep, FormWrapper } from '@components/form/layout'\nimport { Nav } from '@components/ui'\nimport { useCampaign } from '@contexts/useCampaign'\nimport { yupResolver } from '@hookform/resolvers/yup'\nimport { ERROR_MESSAGE } from '@utils/constants'\nimport {\n closeOverlay,\n getModels,\n getPageData,\n removeDuplicate,\n} from '@utils/helpers'\nimport { createYupSchema } from '@utils/helpers/createYupSchema'\nimport { formEvent, updateDatalayer } from '@utils/helpers/tracking'\nimport { KmiSchema } from '@utils/schemas'\nimport axios from 'axios'\nimport type { GetServerSideProps } from 'next'\nimport type { ParsedUrlQuery } from 'querystring'\nimport { useEffect, useMemo, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport * as yup from 'yup'\n\nconst Kmi = ({ models, content, tracking, brand, dealer }) => {\n const [submitResponse, setSubmitResponse] = useState('')\n const [dealers, setDealers] = useState([])\n const [searchTerm, setSerchTerm] = useState('')\n const [isDealer, setIsDealer] = useState(false)\n const [isFleet, setIsFleet] = useState(false)\n const { hidden_fields: hiddenFields, fields } = content\n const campaign = useCampaign()\n\n let initialValues = {}\n const usedFields = []\n\n // build initialValues from cms fields\n KmiSchema.forEach((item) => {\n const found = fields.some((el) => el.input_type === item.field)\n if (found) {\n if (item.field?.includes('_optional')) {\n // eslint-disable-next-line no-param-reassign\n item.id = item.id.replace('_optional', '')\n }\n initialValues[item.id] = item.value || ''\n }\n })\n\n // remove empty response codes fields\n Object.keys(hiddenFields).forEach((key) => {\n if (hiddenFields[key] === '' || hiddenFields[key] === null) {\n delete hiddenFields[key]\n }\n })\n\n // combine all fields\n initialValues = {\n ...initialValues,\n ...hiddenFields,\n is_lexus: brand === 'lexus',\n is_dealer: false,\n dealer_name: '',\n }\n\n // map fields with schemas\n KmiSchema.forEach((item) => {\n const inputField = { ...item }\n if (initialValues[inputField.id] !== undefined) {\n // map required fields\n const found = fields.some(\n (el) => el.optional && el.input_type === inputField.field,\n )\n if (found) {\n inputField.validations = inputField.validations.filter(\n (el) => el.input_type !== 'required',\n )\n }\n usedFields.push(inputField)\n }\n })\n\n // create global schema\n const yepSchema = usedFields.reduce(createYupSchema, {})\n const validateSchema = yup.object().shape(yepSchema)\n\n const methods = useForm({\n resolver: yupResolver(validateSchema),\n defaultValues: initialValues,\n mode: 'onTouched',\n })\n const selectedDealer = methods.watch('dealer')\n const pvtCompanyCar = methods.watch('pvt_company_car')\n\n useEffect(() => {\n if (pvtCompanyCar === 'Fleet') {\n setIsFleet(true)\n setDealers([])\n } else {\n methods.setValue('postcode', '')\n setIsFleet(false)\n }\n }, [pvtCompanyCar])\n\n useEffect(() => {\n const kmiModel =\n content?.hidden_fields?.tme_model_id || content?.hidden_fields?.model\n\n if (kmiModel) {\n const formModel = models.filter((model) => {\n return kmiModel === model.image.id\n })\n\n if (formModel.length > 0) {\n updateDatalayer('model', {\n id: formModel[0].image.id,\n name: formModel[0].name,\n })\n }\n }\n }, [])\n\n useEffect(() => {\n if (dealer) {\n methods.setValue(\n 'dealer',\n dealer?.applications?.NMSC?.externalID\n ? dealer.applications.NMSC.externalID\n : '',\n )\n methods.setValue('dealer_name', dealer.name)\n methods.setValue('is_dealer', true)\n setIsDealer(true)\n }\n }, [dealer])\n\n useEffect(() => {\n const dealerName = dealers.filter((i) => {\n return i.value === selectedDealer\n })\n\n if (dealerName.length >= 1) {\n methods.setValue('dealer_name', dealerName[0]?.label)\n updateDatalayer('dealer', {\n uuid: dealerName[0]?.uuid,\n name: dealerName[0]?.name,\n address: {\n city: dealerName[0]?.address.city,\n zip: dealerName[0]?.address.zip,\n },\n })\n }\n }, [selectedDealer])\n\n useEffect(() => {\n if (campaign?.campaign) {\n methods.setValue('campaign_code', campaign.campaign)\n }\n\n if (campaign?.media) {\n const code = methods.getValues('campaign_code')\n methods.setValue('campaign_code', code + campaign.media)\n }\n\n if (campaign?.brochure) {\n methods.setValue('campaign_response_code', campaign.brochure)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [campaign])\n\n const Dealer = ({ optional }) => {\n return (\n <>\n {!isDealer && !isFleet && (\n {\n setSerchTerm(term)\n const dealersOptions = dealersSearch.map((dealerSearch) => ({\n label: dealerSearch?.name,\n value: dealerSearch?.localDealerID,\n name: dealerSearch?.name,\n uuid: dealerSearch?.uuid,\n address: dealerSearch?.address,\n }))\n if (dealersOptions.length) {\n const dealerList = removeDuplicate(dealersOptions, 'value')\n setDealers(dealerList)\n methods.setValue('dealer', dealerList[0].value, {\n shouldValidate: true,\n })\n }\n }}\n />\n )}\n\n {dealers.length > 0 && !isDealer && !isFleet && (\n \n )}\n \n )\n }\n\n // Fields builder\n const InputRenderer = ({ fieldComponents }: any) => {\n const Components = {\n Email,\n FirstName,\n LastName,\n Models,\n Tel,\n Tel_optional: Tel,\n Title,\n Dealer,\n Postcode,\n PrivateOrCompanyCar,\n ContactMirai,\n }\n\n return fieldComponents.map((field, key) => {\n const FieldComp = Components[field.input_type] || null\n const props = {}\n if (FieldComp) {\n if (field.input_type === 'Models') props.models = models\n if (field.input_type.includes('_optional')) {\n props.optional = true\n }\n if (field.input_type === 'Models') props.optional = true\n if (field.input_type === 'Dealer' && isDealer) return null\n if (field.input_type === 'Dealer' && isFleet) return null\n if (field.input_type === 'Postcode' && !isFleet) return null\n if (field.helper) props.helper = field.helper\n }\n\n return \n })\n }\n\n const KmiFields = useMemo(\n () => ,\n [dealers, isDealer, isFleet, methods.formState.errors],\n )\n\n const onSubmit = async (data: any) => {\n setSubmitResponse('')\n await axios({\n method: 'post',\n url: `${process.env.NEXT_PUBLIC_API}/kmi`,\n headers: {\n 'Content-Type': 'application/json',\n },\n data,\n })\n .then(() => {\n formEvent({\n conversion: 1,\n name: tracking.form,\n step: 'form-submit',\n variant: tracking.variant,\n page: tracking.page,\n })\n closeOverlay(\n content.confirmation.title,\n content.confirmation.copy,\n setSubmitResponse,\n )\n })\n .catch(() => {\n formEvent({\n conversion: 0,\n name: tracking.form,\n step: 'form-error',\n variant: tracking.variant,\n page: tracking.page,\n })\n setSubmitResponse(ERROR_MESSAGE)\n throw new Error(ERROR_MESSAGE)\n })\n }\n\n return (\n <>\n \n \n \n \n
\n \n {KmiFields}\n \n \n \n
\n \n
\n \n )\n}\n\ninterface Params extends ParsedUrlQuery {\n id: string\n}\n\nexport const getServerSideProps: GetServerSideProps = async (context) => {\n const brand = context.locale\n const form = 'kmi'\n const { id } = context.params as Params\n const content = await import(\n `../../content/${brand}/kmi-forms/${id}.md`\n ).catch(() => null)\n const settings = await import(\n `../../content/${brand}/settings/global.md`\n ).catch(() => null)\n\n // redirect if not active and redirect url exist\n if (!content.attributes?.active && content.attributes?.redirect) {\n const destination = new URL(content.attributes?.redirect)\n\n Object.entries(context.query).forEach((element) => {\n if (element.length > 1 && element[0] !== 'id') {\n const key = element[0]\n const value = element[1] as string\n destination.searchParams.append(key, value)\n }\n })\n\n return {\n redirect: {\n destination: destination.href,\n permanent: true,\n },\n }\n }\n\n // if no content/disabled - show 404\n if (\n !content ||\n content.attributes.fields.length === 0 ||\n !content.attributes?.active\n ) {\n return {\n notFound: true,\n }\n }\n\n // if content property 'hold' or settings property 'maintenance' is true, redirect to holding page\n if (content.attributes?.hold || settings.attributes.maintenance) {\n return {\n redirect: {\n destination: '/maintenance',\n permanent: false,\n },\n }\n }\n\n return {\n props: {\n models: getModels(brand, form),\n content: content.attributes,\n title: content.attributes.title,\n tracking: {\n page: `keep-me-informed`,\n form: 'lead-keep-me-informed',\n variant: id,\n initialStep: 'contact-details',\n },\n description: '',\n ...(await getPageData(context, form)),\n },\n }\n}\n\nKmi.whyDidYouRender = true\n\nexport default Kmi\n","/* eslint-disable no-param-reassign */\nimport * as yup from 'yup'\n\nexport function createYupSchema(schema, config) {\n const { id, validationType, validations = [] } = config\n if (!yup[validationType]) {\n return schema\n }\n let validator = yup[validationType]()\n validations.forEach((validation) => {\n const { params, type } = validation\n if (!validator[type]) {\n return\n }\n if (type === 'when') {\n const [field, options] = params\n validator = validator.when(field, (value, conditionSchema) => {\n if (options.is(value)) {\n return conditionSchema.required(options.then.message).trim()\n }\n return conditionSchema\n })\n } else {\n validator = validator[type](...params)\n }\n })\n schema[id] = validator\n return schema\n}\n","(self[\"webpackChunk_N_E\"] = self[\"webpackChunk_N_E\"] || []).push([[9729],{\n\n/***/ 3659:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/kmi/[id]\",\n function () {\n return __webpack_require__(73174);\n }\n ]);\n if(false) {}\n \n\n/***/ }),\n\n/***/ 73174:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"__N_SSP\": function() { return /* binding */ __N_SSP; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(28598);\n/* harmony import */ var _components_form_fields__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(80505);\n/* harmony import */ var _components_form_layout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(76817);\n/* harmony import */ var _components_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(68551);\n/* harmony import */ var _contexts_useCampaign__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(19168);\n/* harmony import */ var _hookform_resolvers_yup__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(97859);\n/* harmony import */ var _utils_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(67958);\n/* harmony import */ var _utils_helpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(45911);\n/* harmony import */ var _utils_helpers_createYupSchema__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(69192);\n/* harmony import */ var _utils_helpers_tracking__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(68379);\n/* harmony import */ var _utils_schemas__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(76827);\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(46392);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(82684);\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(75367);\n/* harmony import */ var yup__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(38797);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst Kmi = (param)=>{\n let { models , content , tracking , brand , dealer } = param;\n const [submitResponse, setSubmitResponse] = (0,react__WEBPACK_IMPORTED_MODULE_11__.useState)(\"\");\n const [dealers, setDealers] = (0,react__WEBPACK_IMPORTED_MODULE_11__.useState)([]);\n const [searchTerm, setSerchTerm] = (0,react__WEBPACK_IMPORTED_MODULE_11__.useState)(\"\");\n const [isDealer, setIsDealer] = (0,react__WEBPACK_IMPORTED_MODULE_11__.useState)(false);\n const [isFleet, setIsFleet] = (0,react__WEBPACK_IMPORTED_MODULE_11__.useState)(false);\n const { hidden_fields: hiddenFields , fields } = content;\n const campaign = (0,_contexts_useCampaign__WEBPACK_IMPORTED_MODULE_4__/* .useCampaign */ .y)();\n let initialValues = {};\n const usedFields = [];\n // build initialValues from cms fields\n _utils_schemas__WEBPACK_IMPORTED_MODULE_9__/* .KmiSchema.forEach */ .bR.forEach((item)=>{\n const found = fields.some((el)=>el.input_type === item.field);\n if (found) {\n var ref;\n if ((ref = item.field) === null || ref === void 0 ? void 0 : ref.includes(\"_optional\")) {\n // eslint-disable-next-line no-param-reassign\n item.id = item.id.replace(\"_optional\", \"\");\n }\n initialValues[item.id] = item.value || \"\";\n }\n });\n // remove empty response codes fields\n Object.keys(hiddenFields).forEach((key)=>{\n if (hiddenFields[key] === \"\" || hiddenFields[key] === null) {\n delete hiddenFields[key];\n }\n });\n // combine all fields\n initialValues = {\n ...initialValues,\n ...hiddenFields,\n is_lexus: brand === \"lexus\",\n is_dealer: false,\n dealer_name: \"\"\n };\n // map fields with schemas\n _utils_schemas__WEBPACK_IMPORTED_MODULE_9__/* .KmiSchema.forEach */ .bR.forEach((item)=>{\n const inputField = {\n ...item\n };\n if (initialValues[inputField.id] !== undefined) {\n // map required fields\n const found = fields.some((el)=>el.optional && el.input_type === inputField.field);\n if (found) {\n inputField.validations = inputField.validations.filter((el)=>el.input_type !== \"required\");\n }\n usedFields.push(inputField);\n }\n });\n // create global schema\n const yepSchema = usedFields.reduce(_utils_helpers_createYupSchema__WEBPACK_IMPORTED_MODULE_7__/* .createYupSchema */ .E, {});\n const validateSchema = yup__WEBPACK_IMPORTED_MODULE_12__.object().shape(yepSchema);\n const methods = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_13__/* .useForm */ .cI)({\n resolver: (0,_hookform_resolvers_yup__WEBPACK_IMPORTED_MODULE_14__/* .yupResolver */ .X)(validateSchema),\n defaultValues: initialValues,\n mode: \"onTouched\"\n });\n const selectedDealer = methods.watch(\"dealer\");\n const pvtCompanyCar = methods.watch(\"pvt_company_car\");\n (0,react__WEBPACK_IMPORTED_MODULE_11__.useEffect)(()=>{\n if (pvtCompanyCar === \"Fleet\") {\n setIsFleet(true);\n setDealers([]);\n } else {\n methods.setValue(\"postcode\", \"\");\n setIsFleet(false);\n }\n }, [\n pvtCompanyCar\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_11__.useEffect)(()=>{\n var ref, ref1;\n const kmiModel = (content === null || content === void 0 ? void 0 : (ref = content.hidden_fields) === null || ref === void 0 ? void 0 : ref.tme_model_id) || (content === null || content === void 0 ? void 0 : (ref1 = content.hidden_fields) === null || ref1 === void 0 ? void 0 : ref1.model);\n if (kmiModel) {\n const formModel = models.filter((model)=>{\n return kmiModel === model.image.id;\n });\n if (formModel.length > 0) {\n (0,_utils_helpers_tracking__WEBPACK_IMPORTED_MODULE_8__/* .updateDatalayer */ .WX)(\"model\", {\n id: formModel[0].image.id,\n name: formModel[0].name\n });\n }\n }\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_11__.useEffect)(()=>{\n if (dealer) {\n var ref, ref1;\n methods.setValue(\"dealer\", (dealer === null || dealer === void 0 ? void 0 : (ref = dealer.applications) === null || ref === void 0 ? void 0 : (ref1 = ref.NMSC) === null || ref1 === void 0 ? void 0 : ref1.externalID) ? dealer.applications.NMSC.externalID : \"\");\n methods.setValue(\"dealer_name\", dealer.name);\n methods.setValue(\"is_dealer\", true);\n setIsDealer(true);\n }\n }, [\n dealer\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_11__.useEffect)(()=>{\n const dealerName = dealers.filter((i)=>{\n return i.value === selectedDealer;\n });\n if (dealerName.length >= 1) {\n var ref, ref1, ref2, ref3, ref4;\n methods.setValue(\"dealer_name\", (ref = dealerName[0]) === null || ref === void 0 ? void 0 : ref.label);\n (0,_utils_helpers_tracking__WEBPACK_IMPORTED_MODULE_8__/* .updateDatalayer */ .WX)(\"dealer\", {\n uuid: (ref1 = dealerName[0]) === null || ref1 === void 0 ? void 0 : ref1.uuid,\n name: (ref2 = dealerName[0]) === null || ref2 === void 0 ? void 0 : ref2.name,\n address: {\n city: (ref3 = dealerName[0]) === null || ref3 === void 0 ? void 0 : ref3.address.city,\n zip: (ref4 = dealerName[0]) === null || ref4 === void 0 ? void 0 : ref4.address.zip\n }\n });\n }\n }, [\n selectedDealer\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_11__.useEffect)(()=>{\n if (campaign === null || campaign === void 0 ? void 0 : campaign.campaign) {\n methods.setValue(\"campaign_code\", campaign.campaign);\n }\n if (campaign === null || campaign === void 0 ? void 0 : campaign.media) {\n const code = methods.getValues(\"campaign_code\");\n methods.setValue(\"campaign_code\", code + campaign.media);\n }\n if (campaign === null || campaign === void 0 ? void 0 : campaign.brochure) {\n methods.setValue(\"campaign_response_code\", campaign.brochure);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n campaign\n ]);\n const Dealer = (param)=>{\n let { optional } = param;\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n !isDealer && !isFleet && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_form_fields__WEBPACK_IMPORTED_MODULE_1__/* .FindDealer */ .$x, {\n isError: \"dealer\" in methods.formState.errors && !dealers.length,\n label: \"\".concat(brand === \"lexus\" ? \"Choose\" : \"Find\", \" your preferred \").concat(brand === \"lexus\" ? \"centre\" : \"dealer\"),\n infoText: \"Enter your postcode/location\",\n optional: optional,\n value: searchTerm,\n search: (dealersSearch, term)=>{\n setSerchTerm(term);\n const dealersOptions = dealersSearch.map((dealerSearch)=>{\n return {\n label: dealerSearch === null || dealerSearch === void 0 ? void 0 : dealerSearch.name,\n value: dealerSearch === null || dealerSearch === void 0 ? void 0 : dealerSearch.localDealerID,\n name: dealerSearch === null || dealerSearch === void 0 ? void 0 : dealerSearch.name,\n uuid: dealerSearch === null || dealerSearch === void 0 ? void 0 : dealerSearch.uuid,\n address: dealerSearch === null || dealerSearch === void 0 ? void 0 : dealerSearch.address\n };\n });\n if (dealersOptions.length) {\n const dealerList = (0,_utils_helpers__WEBPACK_IMPORTED_MODULE_6__/* .removeDuplicate */ .be)(dealersOptions, \"value\");\n setDealers(dealerList);\n methods.setValue(\"dealer\", dealerList[0].value, {\n shouldValidate: true\n });\n }\n }\n }),\n dealers.length > 0 && !isDealer && !isFleet && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_form_fields__WEBPACK_IMPORTED_MODULE_1__/* .ClosestDealers */ .FF, {\n label: \"\".concat(brand === \"lexus\" ? \"Please select a Lexus Centre\" : \"Nominated Dealers\"),\n helper: \"List displays the closest \".concat(brand === \"lexus\" ? \"centre\" : \"dealer\", \" to your postcode.\"),\n dealers: dealers\n })\n ]\n });\n };\n // Fields builder\n const InputRenderer = (param)=>{\n let { fieldComponents } = param;\n const Components = {\n Email: _components_form_fields__WEBPACK_IMPORTED_MODULE_1__/* .Email */ .GT,\n FirstName: _components_form_fields__WEBPACK_IMPORTED_MODULE_1__/* .FirstName */ .SW,\n LastName: _components_form_fields__WEBPACK_IMPORTED_MODULE_1__/* .LastName */ .uQ,\n Models: _components_form_fields__WEBPACK_IMPORTED_MODULE_1__/* .Models */ .kk,\n Tel: _components_form_fields__WEBPACK_IMPORTED_MODULE_1__/* .Tel */ .ki,\n Tel_optional: _components_form_fields__WEBPACK_IMPORTED_MODULE_1__/* .Tel */ .ki,\n Title: _components_form_fields__WEBPACK_IMPORTED_MODULE_1__/* .Title */ .Dx,\n Dealer,\n Postcode: _components_form_fields__WEBPACK_IMPORTED_MODULE_1__/* .Postcode */ .w0,\n PrivateOrCompanyCar: _components_form_fields__WEBPACK_IMPORTED_MODULE_1__/* .PrivateOrCompanyCar */ .Ty,\n ContactMirai: _components_form_fields__WEBPACK_IMPORTED_MODULE_1__/* .ContactMirai */ .vV\n };\n return fieldComponents.map((field, key)=>{\n const FieldComp = Components[field.input_type] || null;\n const props = {};\n if (FieldComp) {\n if (field.input_type === \"Models\") props.models = models;\n if (field.input_type.includes(\"_optional\")) {\n props.optional = true;\n }\n if (field.input_type === \"Models\") props.optional = true;\n if (field.input_type === \"Dealer\" && isDealer) return null;\n if (field.input_type === \"Dealer\" && isFleet) return null;\n if (field.input_type === \"Postcode\" && !isFleet) return null;\n if (field.helper) props.helper = field.helper;\n }\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(FieldComp, {\n ...props\n }, key);\n });\n };\n const KmiFields = (0,react__WEBPACK_IMPORTED_MODULE_11__.useMemo)(()=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(InputRenderer, {\n fieldComponents: content.fields\n }), [\n dealers,\n isDealer,\n isFleet,\n methods.formState.errors\n ]);\n const onSubmit = async (data)=>{\n setSubmitResponse(\"\");\n await (0,axios__WEBPACK_IMPORTED_MODULE_10__/* [\"default\"] */ .ZP)({\n method: \"post\",\n url: \"\".concat(\"https://api.toyota.co.uk/forms/api\", \"/kmi\"),\n headers: {\n \"Content-Type\": \"application/json\"\n },\n data\n }).then(()=>{\n (0,_utils_helpers_tracking__WEBPACK_IMPORTED_MODULE_8__/* .formEvent */ .Be)({\n conversion: 1,\n name: tracking.form,\n step: \"form-submit\",\n variant: tracking.variant,\n page: tracking.page\n });\n (0,_utils_helpers__WEBPACK_IMPORTED_MODULE_6__/* .closeOverlay */ .Km)(content.confirmation.title, content.confirmation.copy, setSubmitResponse);\n }).catch(()=>{\n (0,_utils_helpers_tracking__WEBPACK_IMPORTED_MODULE_8__/* .formEvent */ .Be)({\n conversion: 0,\n name: tracking.form,\n step: \"form-error\",\n variant: tracking.variant,\n page: tracking.page\n });\n setSubmitResponse(_utils_constants__WEBPACK_IMPORTED_MODULE_5__/* .ERROR_MESSAGE */ .c9);\n throw new Error(_utils_constants__WEBPACK_IMPORTED_MODULE_5__/* .ERROR_MESSAGE */ .c9);\n });\n };\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_ui__WEBPACK_IMPORTED_MODULE_3__/* .Nav */ .JL, {\n title: content.title,\n background: content.background,\n color: content === null || content === void 0 ? void 0 : content.font_colour\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_form_layout__WEBPACK_IMPORTED_MODULE_2__/* .FormWrapper */ .n, {\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_form_layout__WEBPACK_IMPORTED_MODULE_2__/* .FormStep */ .p, {\n title: content.details.title,\n subtitle: content.details.subtitle,\n step: 1,\n active: true,\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_hook_form__WEBPACK_IMPORTED_MODULE_13__/* .FormProvider */ .RV, {\n ...methods,\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"form\", {\n onSubmit: methods.handleSubmit(onSubmit),\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_form_fields__WEBPACK_IMPORTED_MODULE_1__/* .AuthFill */ .Pl, {}),\n KmiFields,\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_form_fields__WEBPACK_IMPORTED_MODULE_1__/* .MarketingConsent */ .nb, {}),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_form_fields__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .zx, {\n submitResponse: submitResponse,\n children: content.details.submit\n })\n ]\n })\n })\n })\n })\n ]\n });\n};\nKmi.whyDidYouRender = true;\nvar __N_SSP = true;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Kmi);\n\n\n/***/ }),\n\n/***/ 69192:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"E\": function() { return /* binding */ createYupSchema; }\n/* harmony export */ });\n/* harmony import */ var yup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(38797);\n/* eslint-disable no-param-reassign */ \nfunction createYupSchema(schema, config) {\n const { id , validationType , validations =[] } = config;\n if (!yup__WEBPACK_IMPORTED_MODULE_0__[validationType]) {\n return schema;\n }\n let validator = yup__WEBPACK_IMPORTED_MODULE_0__[validationType]();\n validations.forEach((validation)=>{\n const { params , type } = validation;\n if (!validator[type]) {\n return;\n }\n if (type === \"when\") {\n const [field, options] = params;\n validator = validator.when(field, (value, conditionSchema)=>{\n if (options.is(value)) {\n return conditionSchema.required(options.then.message).trim();\n }\n return conditionSchema;\n });\n } else {\n validator = validator[type](...params);\n }\n });\n schema[id] = validator;\n return schema;\n}\n\n\n/***/ })\n\n},\n/******/ function(__webpack_require__) { // webpackRuntimeModules\n/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }\n/******/ __webpack_require__.O(0, [6572,6018,3163,6276,9774,2888,179], function() { return __webpack_exec__(3659); });\n/******/ var __webpack_exports__ = __webpack_require__.O();\n/******/ _N_E = __webpack_exports__;\n/******/ }\n]);"],"names":["self","push","__unused_webpack_module","__unused_webpack_exports","__webpack_require__","window","__NEXT_P","__webpack_exports__","r","d","__N_SSP","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","_components_form_fields__WEBPACK_IMPORTED_MODULE_1__","_components_form_layout__WEBPACK_IMPORTED_MODULE_2__","_components_ui__WEBPACK_IMPORTED_MODULE_3__","_contexts_useCampaign__WEBPACK_IMPORTED_MODULE_4__","_hookform_resolvers_yup__WEBPACK_IMPORTED_MODULE_14__","_utils_constants__WEBPACK_IMPORTED_MODULE_5__","_utils_helpers__WEBPACK_IMPORTED_MODULE_6__","_utils_helpers_createYupSchema__WEBPACK_IMPORTED_MODULE_7__","_utils_helpers_tracking__WEBPACK_IMPORTED_MODULE_8__","_utils_schemas__WEBPACK_IMPORTED_MODULE_9__","axios__WEBPACK_IMPORTED_MODULE_10__","react__WEBPACK_IMPORTED_MODULE_11__","react_hook_form__WEBPACK_IMPORTED_MODULE_13__","yup__WEBPACK_IMPORTED_MODULE_12__","Kmi","models","content","tracking","brand","dealer","param","submitResponse","setSubmitResponse","useState","dealers","setDealers","searchTerm","setSerchTerm","isDealer","setIsDealer","isFleet","setIsFleet","hidden_fields","hiddenFields","fields","campaign","y","initialValues","usedFields","bR","forEach","found","some","el","input_type","item","field","ref","includes","id","replace","value","Object","keys","key","is_lexus","is_dealer","dealer_name","inputField","undefined","optional","validations","filter","yepSchema","reduce","E","validateSchema","object","shape","methods","cI","resolver","X","defaultValues","mode","selectedDealer","watch","pvtCompanyCar","useEffect","setValue","ref1","kmiModel","tme_model_id","model","formModel","image","length","WX","name","applications","NMSC","externalID","dealerName","i","ref2","ref3","ref4","label","uuid","address","city","zip","media","code","getValues","brochure","Dealer","jsxs","Fragment","children","jsx","$x","isError","formState","errors","concat","infoText","dealersSearch","term","dealersOptions","map","dealerSearch","localDealerID","dealerList","be","shouldValidate","FF","helper","InputRenderer","fieldComponents","Components","Email","GT","FirstName","SW","LastName","uQ","Models","kk","Tel","ki","Tel_optional","Title","Dx","Postcode","w0","PrivateOrCompanyCar","Ty","ContactMirai","vV","FieldComp","props","KmiFields","useMemo","onSubmit","data","ZP","method","url","headers","then","Be","conversion","form","step","variant","page","Km","confirmation","title","copy","catch","c9","JL","background","color","font_colour","n","p","details","subtitle","active","RV","handleSubmit","Pl","nb","zx","submit","whyDidYouRender","createYupSchema","yup__WEBPACK_IMPORTED_MODULE_0__","schema","config","validationType","validator","params","type","validation","options","when","conditionSchema","is","required","message","trim","O","s","_N_E"],"sourceRoot":""}